#ifndef ___INC_QGARPR_H__
#define ___INC_QGARPR_H__

#ifdef _MSC_VER
#pragma once
#endif

//////////////////////////////////////////////////////////////////////////
// arpr

// buffer
struct qgArprBuffer
{
	qgBufferType		type;
	kint				flags;

	kint				stride;
	kint				count;
	kconstpointer		data;
};

// texture
struct qgArprTexture
{
	const char*			name;
	kint				flags;

	qgTextureType		type;
	qgColorFormat		fmt;
	kuint				width : 16;
	kuint				height : 16;
	kuint				depth : 16;
	kuint				mips : 16;
};

// texture image
struct qgArprImage
{
	const char*			name;
	kint				flags;

	qgImage*			img;
};

//
struct qgArprSmm
{
	kuint				hdr;
	kushort				bin;
	kushort				ver;

	char				name[64];
	kushort				type;

	kushort				nres;
	kushort				nfrm;
	kushort				ndmm;
	kushort				nbon;
	kushort				nmsh;

	kint				pivot;
};

//
struct qgArprSma
{
	kuint				hdr;
	kushort				bin;
	kushort				ver;

	char				name[64];
	kushort				type;

	kushort				units;
};

#endif	// ___INC_QGARPR_H__
